﻿using SIIE_ERP.BaseDatos;
using SIIE_ERP.BaseDatos.Compras.Transacciones;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SIIE_ERP.Codigo.Ventas
{
    public static class DocumentosVentasCalculos
    {
        public static string Get_ArticuloTotal_Final(string PrecioTotal, string Porc_descuento, string Cantidad)
        {
            try
            {
                double Resultado = 0;
                double D_PrecioTotal = Double.Parse(PrecioTotal);
                double D_Porc_descuento = Double.Parse(Porc_descuento);
                double D_Cantidad = Double.Parse(Cantidad);

                Resultado = ((D_Cantidad * D_PrecioTotal) * (1 - (D_Porc_descuento / 100)));

                return Math.Round(Resultado, 2).ToString();                
            }
            catch (Exception)
            {
                return "";
            }
        }

        public static string Get_SubTotal_Final(string PrecioTotal, string Porc_descuento, string Porc_Impuesto, string Cantidad)
        {
            try
            {
                double Resultado = 0;
                double D_PrecioTotal = Double.Parse(PrecioTotal);
                double D_Porc_descuento = Double.Parse(Porc_descuento);
                double D_Porc_Impuesto = Double.Parse(Porc_Impuesto);
                double D_Cantidad = Double.Parse(Cantidad);

                var Impuesto = (100 + D_Porc_Impuesto) / 100;

                Resultado = Math.Round(((D_PrecioTotal * (1 - (D_Porc_descuento / 100))) / Impuesto) * D_Cantidad, 2);
                return Resultado.ToString();                
            }
            catch (Exception) 
            {
                return "";
            }            
        }

        public static string Get_IVA_Final(string PrecioTotal, string Porc_descuento, string Porc_Impuesto, string Cantidad)
        {
            try
            {
                double Resultado = 0;
                double D_PrecioTotal = Double.Parse(PrecioTotal);
                double D_Porc_descuento = Double.Parse(Porc_descuento);
                double D_Porc_Impuesto = Double.Parse(Porc_Impuesto);
                double D_Cantidad = Double.Parse(Cantidad);

                var Impuesto = (100 + D_Porc_Impuesto) / 100;

                Resultado = Math.Round(((D_PrecioTotal * (1 - (D_Porc_descuento / 100))) / Impuesto) * D_Cantidad, 2);
                Resultado = Math.Round((D_PrecioTotal * (1 - (D_Porc_descuento / 100)) * D_Cantidad) - Resultado, 2);

                return Resultado.ToString();
            }
            catch (Exception)
            {
                return "";
            }
        }

        public static string Get_PrecioUnitario_Final(string PrecioTotal, string Porc_Impuesto)
        {
            try
            {
                double Resultado = 0;
                double D_PrecioTotal = Double.Parse(PrecioTotal);               
                double D_Porc_Impuesto = Double.Parse(Porc_Impuesto);                

                var Impuesto = (100 + D_Porc_Impuesto) / 100;

                Resultado = Math.Round(((D_PrecioTotal ) / Impuesto), 2);
                return Resultado.ToString();
            }
            catch (Exception)
            {
                return "";
            }
        }        
    }
}
